Thema Datum  Von Nutzer Rating
Antwort
08.08.2019 15:34:08 Mirko
NotSolved
08.08.2019 16:26:04 Ulrich
NotSolved
08.08.2019 18:32:28 Mirko
NotSolved
08.08.2019 19:36:05 Trägheit
NotSolved
08.08.2019 21:13:25 Ulrich
NotSolved
09.08.2019 08:55:08 Mirko
NotSolved
09.08.2019 11:29:13 Ulrich
NotSolved
09.08.2019 14:28:43 Mirko
NotSolved
10.08.2019 10:46:52 Ulrich
NotSolved
Blau Loop über Datein im Ordner => ein erster Anfang die zweite
10.08.2019 16:19:58 Mirko
NotSolved
11.08.2019 14:08:30 Trägheit
NotSolved
12.08.2019 20:43:29 Mirko
NotSolved
13.08.2019 12:39:19 Mirko
Solved
13.08.2019 17:26:09 Trägheit
NotSolved
08.08.2019 16:33:43 Ulrich
NotSolved

Ansicht des Beitrags:
Von:
Mirko
Datum:
10.08.2019 16:19:58
Views:
464
Rating: Antwort:
  Ja
Thema:
Loop über Datein im Ordner => ein erster Anfang die zweite

Hallo Ulrich,

mit `Was` meine ich um welche Art Information es sich handelt:

Datei: Zellzuweisung (wird momentan noch separat gespeichert, also nicht in dem Ordner), als Beispiel:

Was           Reiter                    von                      nach
Name         Reiter1                  D42                  wsZiel, E9
Addresse   Reiter1                  D46                  wsZiel, E3
Alter           Reiter1                  D47                  wsZiel, E4
Zahlung     Reiter1                  D48                  wsZiel, E5
Summe      Reiter2                  H70                  wsZiel, F4
...

Das soll für die erste eingelesene Datei gelten. Bei jeder weiteren eingelesenen Datei wird die Ziel-Zelle um vier versetzt, sodass am Ende eine Tabelle entsteht, die links immernoch die `Was`-Spalte enthält und pro eingelesene Datei eine zusätzliche Spalte.

Sub ersterAnfang()
    Dim Pfad As String
    Dim Fname As String
    Dim wbQuelle As Workbook
    Dim wsZiel As Worksheet
    Dim ZielZeile As Long
    Dim count As Integer
    
 
    Pfad = "\"     'abschließender Backslash!!!!!
    Fname = Dir(Pfad & "*.xlsm*")
    
 ' neuen Tab erzeugen
   Set wsZiel = ThisWorkbook.Worksheets.Add
        wsZiel.Name = "Auswertung"
        
 'Tabelle erzeugen

  
Range("B6:B7").MergeCells = True
wsZiel.Cells(6, 2) = "Meldung"
wsZiel.Cells(6, 3) = "Jahr 1"
wsZiel.Cells(7, 3) = "Jahr 2"

 
Range("B8:B9").MergeCells = True
wsZiel.Cells(8, 2) = "P"
wsZiel.Cells(8, 3) = "ohne"
wsZiel.Cells(9, 3) = "mit"
  

  'I
Range("B10:B16").MergeCells = True
wsZiel.Cells(10, 2) = " I"
wsZiel.Cells(10, 3) = "I 1.1"
wsZiel.Cells(11, 3) = "I 1.2"
wsZiel.Cells(12, 3) = "I 1.3"
wsZiel.Cells(13, 3) = "I 1.4"
wsZiel.Cells(14, 3) = "I 1.5"
wsZiel.Cells(15, 3) = "I 1.6"
wsZiel.Cells(16, 3) = "I gesamt"

 ' II
 Range("B17:B26").MergeCells = True
wsZiel.Cells(17, 2) = "II"
wsZiel.Cells(17, 3) = "II 2.1"
wsZiel.Cells(18, 3) = "II 2.2 "
wsZiel.Cells(19, 3) = "II 2.3 "
wsZiel.Cells(20, 3) = "II 2.4 "
wsZiel.Cells(21, 3) = "II 2.5 "
wsZiel.Cells(22, 3) = "II 2.6"
wsZiel.Cells(23, 3) = "II 2.7"
wsZiel.Cells(24, 3) = "II 2.8"
wsZiel.Cells(25, 3) = "II 2.9"
wsZiel.Cells(26, 3) = "II gesamt"

'III
Range("B27:B37").MergeCells = True
wsZiel.Cells(27, 2) = "III"
wsZiel.Cells(27, 3).Value = "III 3.1 "
wsZiel.Cells(28, 3).Value = "III 3.2 "
wsZiel.Cells(29, 3).Value = "III 3.3 "
wsZiel.Cells(30, 3).Value = "III 3.4 "
wsZiel.Cells(31, 3) = "III 3.5 "
wsZiel.Cells(32, 3) = "III 3.6 "
wsZiel.Cells(33, 3) = "III 3.7"
wsZiel.Cells(34, 3) = "III 3.8"
wsZiel.Cells(35, 3) = "III 3.9"
wsZiel.Cells(36, 3) = "III 3.10"
wsZiel.Cells(37, 3) = "III gesamt 1"
Range("B38:B41").MergeCells = True
wsZiel.Cells(38, 2) = "III  "
wsZiel.Cells(38, 3) = "III "
wsZiel.Cells(39, 3) = "III "
wsZiel.Cells(40, 3) = "III "
wsZiel.Cells(41, 3) = "III gasamt 2"

'VI
Range("B42:B47").MergeCells = True
wsZiel.Cells(42, 2) = "VI"
wsZiel.Cells(42, 3) = "IV 4.1 "
wsZiel.Cells(43, 3) = "IV 4.2 "
wsZiel.Cells(44, 3) = "IV 4.3"
wsZiel.Cells(45, 3) = "IV 4.4"
wsZiel.Cells(46, 3) = "IV 4.5"
wsZiel.Cells(47, 3) = "IV "

 'V
Range("B48:B51").MergeCells = True
wsZiel.Cells(48, 2) = "V"
wsZiel.Cells(48, 3) = "V 5.1"
wsZiel.Cells(49, 3) = "V 5.2"
wsZiel.Cells(50, 3) = "V 5.3"
wsZiel.Cells(51, 3) = "V gesamt"

'VI
Range("B52:B76").MergeCells = True
wsZiel.Cells(52, 2) = "VI"
wsZiel.Cells(52, 3) = "VI 6.1 "
wsZiel.Cells(53, 3) = "VI 6.2 "
wsZiel.Cells(54, 3) = "VI 6.3 "
wsZiel.Cells(55, 3) = "VI 6.4 "
wsZiel.Cells(56, 3) = "VI 6.4.1"
wsZiel.Cells(57, 3) = "VI 6.4.2"
wsZiel.Cells(58, 3) = "VI 6.4.3"
wsZiel.Cells(59, 3) = "VI 6.4.4"
wsZiel.Cells(60, 3) = "VI 6.4.5"
wsZiel.Cells(61, 3) = "VI 6.5 "
wsZiel.Cells(62, 3) = "VI 6.6 "
wsZiel.Cells(63, 3) = "VI 6.7 "
wsZiel.Cells(64, 3) = "VI 6.8 "
wsZiel.Cells(65, 3) = "VI 6.9 "
wsZiel.Cells(66, 3) = "VI 6.10"
wsZiel.Cells(67, 3) = "VI 6.11 "
wsZiel.Cells(68, 3) = "VI 6.12 "
wsZiel.Cells(69, 3) = "VI 6.13"
wsZiel.Cells(70, 3) = "VI 6.14"
wsZiel.Cells(71, 3) = "VI 6.15"
wsZiel.Cells(72, 3) = "VI 6.16"
wsZiel.Cells(73, 3) = "VI 6.17"
wsZiel.Cells(74, 3) = "VI 6.18"
wsZiel.Cells(75, 3) = "VI 6.19"
wsZiel.Cells(76, 3) = "VI gesamt 1"
wsZiel.Cells(77, 2) = "VI "
Range("B77:B85").MergeCells = True
wsZiel.Cells(77, 3) = "VI 6.20"
wsZiel.Cells(78, 3) = "VI 6.21"
wsZiel.Cells(79, 3) = "VI 6.22"
wsZiel.Cells(80, 3) = "VI 6.23"
wsZiel.Cells(81, 3) = "VI 6.24"
wsZiel.Cells(82, 3) = "VI 6.25"
wsZiel.Cells(83, 3) = "VI 6.26"
wsZiel.Cells(84, 3) = "VI gesamt 2"
wsZiel.Cells(85, 3) = "Gesamt"

 ' Einnahmen
 Range("B86:B91").MergeCells = True
wsZiel.Cells(86, 2) = "Einnahmen "
wsZiel.Cells(86, 3) = "Einnahme1"
wsZiel.Cells(87, 3) = "Einnahme2"
wsZiel.Cells(88, 3) = "Einnahme3"
wsZiel.Cells(89, 3) = "Einnahme4"
wsZiel.Cells(90, 3) = "Einnahme5"
wsZiel.Cells(91, 3) = "Einnahmen gesamt"

 ' Gewinn
wsZiel.Cells(92, 2) = "G1"
wsZiel.Cells(92, 3) = "G gesamt"
       
        
        
        
        
    count = 0 'für die Anzahl an Datein
    
    Do While Fname <> ""
        
        Set wbQuelle = Workbooks.Open(Pfad & Fname)
 
        'Name
         'Range(Cells(1, 4 * count), Cells(1, 7 * count)).MergeCells = True
         wsZiel.Cells(1, 4 + count * 4) = wbQuelle.Worksheets("Reiter1").Cells(9, 4)
         
        'Addresse
        'Range(Cells(2, 4 * count), Cells(1, 7 * count)).MergeCells = True
        wsZiel.Cells(2, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter1").Cells(42, 4).Value
         
    'Wertzuweisung nach_Zelle=von_Zelle
        ' I
        wsZiel.Cells(10, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(9, 5).Value
        wsZiel.Cells(11, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(10, 5).Value
        wsZiel.Cells(12, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(11, 5).Value
        wsZiel.Cells(13, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(12, 5).Value
        wsZiel.Cells(14, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(13, 5).Value
        wsZiel.Cells(15, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(14, 5).Value
        wsZiel.Cells(16, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(17, 5).Value
        
        'II
        wsZiel.Cells(17, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(20, 5).Value
        wsZiel.Cells(18, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(21, 5).Value
        wsZiel.Cells(19, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(22, 5).Value
        wsZiel.Cells(20, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(23, 5).Value
        wsZiel.Cells(21, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(24, 5).Value
        wsZiel.Cells(22, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(25, 5).Value
        wsZiel.Cells(23, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(26, 5).Value
        wsZiel.Cells(24, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(27, 5).Value
        wsZiel.Cells(25, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(28, 5).Value
        wsZiel.Cells(26, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(34, 5).Value
        
        'III
        wsZiel.Cells(27, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(37, 5).Value
        wsZiel.Cells(28, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(38, 5).Value
        wsZiel.Cells(29, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(39, 5).Value
        wsZiel.Cells(30, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(40, 5).Value
        wsZiel.Cells(31, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(41, 5).Value
        wsZiel.Cells(32, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(42, 5).Value
        wsZiel.Cells(33, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(43, 5).Value
        wsZiel.Cells(34, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(44, 5).Value
        wsZiel.Cells(35, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(45, 5).Value
        wsZiel.Cells(36, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(46, 5).Value
        wsZiel.Cells(37, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(52, 5).Value
        wsZiel.Cells(38, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(55, 5).Value
        wsZiel.Cells(39, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(56, 5).Value
        wsZiel.Cells(40, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(57, 5).Value
        wsZiel.Cells(41, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(59, 5).Value
        
        'IV
        wsZiel.Cells(42, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(62, 5).Value
        wsZiel.Cells(43, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(63, 5).Value
        wsZiel.Cells(44, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(64, 5).Value
        wsZiel.Cells(45, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(65, 5).Value
        wsZiel.Cells(46, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(66, 5).Value
        wsZiel.Cells(47, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(72, 5).Value
        
        'V
        wsZiel.Cells(48, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(75, 5).Value
        wsZiel.Cells(49, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(76, 5).Value
        wsZiel.Cells(50, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(77, 5).Value
        wsZiel.Cells(51, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(83, 5).Value
 
        'VI
        wsZiel.Cells(52, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(86, 5).Value
        wsZiel.Cells(53, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(87, 5).Value
        wsZiel.Cells(54, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(88, 5).Value
        wsZiel.Cells(55, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(89, 5).Value
        wsZiel.Cells(56, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(90, 5).Value
        wsZiel.Cells(57, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(91, 5).Value
        wsZiel.Cells(58, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(92, 5).Value
        wsZiel.Cells(59, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(93, 5).Value
        wsZiel.Cells(60, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(94, 5).Value
        wsZiel.Cells(61, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(95, 5).Value
        wsZiel.Cells(62, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(96, 5).Value
        wsZiel.Cells(63, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(97, 5).Value
        wsZiel.Cells(64, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(98, 5).Value
        wsZiel.Cells(65, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(99, 5).Value
        wsZiel.Cells(66, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(100, 5).Value
        wsZiel.Cells(67, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(101, 5).Value
        wsZiel.Cells(68, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(102, 5).Value
        wsZiel.Cells(69, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(103, 5).Value
        wsZiel.Cells(70, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(104, 5).Value
        wsZiel.Cells(71, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(105, 5).Value
        wsZiel.Cells(72, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(106, 5).Value
        wsZiel.Cells(73, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(107, 5).Value
        wsZiel.Cells(74, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(108, 5).Value
        wsZiel.Cells(75, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(109, 5).Value
        wsZiel.Cells(76, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(111, 5).Value
        wsZiel.Cells(77, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(114, 5).Value
        wsZiel.Cells(78, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(115, 5).Value
        wsZiel.Cells(79, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(116, 5).Value
        wsZiel.Cells(80, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(118, 5).Value
        wsZiel.Cells(81, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(119, 5).Value
        wsZiel.Cells(82, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(120, 5).Value
        wsZiel.Cells(83, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(121, 5).Value
        wsZiel.Cells(84, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(123, 5).Value
        
        
        wsZiel.Cells(85, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(125, 5).Value
        
        'Einnahmen
        wsZiel.Cells(86, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(132, 5).Value
        wsZiel.Cells(87, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(133, 5).Value
        wsZiel.Cells(88, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(134, 5).Value
        wsZiel.Cells(89, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(135, 5).Value
        wsZiel.Cells(90, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(136, 5).Value
        wsZiel.Cells(91, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(138, 5).Value
        
        'Gewinn
        wsZiel.Cells(92, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(141, 5).Value
        
             
        wbQuelle.Close savechanges:=False
        Set wbQuelle = Nothing
 
        Fname = Dir()
        count = count + 1
        ZielZeile = ZielZeile + 1
    Loop
    
 End Sub

Es sind noch nicht alle Wertzuweisungen eingetragen. 

Ich hatte nun überlegt, ob es besser ist, wenn das Programm mit der Datei `Zellzuweisung` arbeitet, statt alles in den Code zu packen. Dann könnte man doch auch einfacher Änderunge vornehmen, oder?  

 

Grüße, Mirko


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
08.08.2019 15:34:08 Mirko
NotSolved
08.08.2019 16:26:04 Ulrich
NotSolved
08.08.2019 18:32:28 Mirko
NotSolved
08.08.2019 19:36:05 Trägheit
NotSolved
08.08.2019 21:13:25 Ulrich
NotSolved
09.08.2019 08:55:08 Mirko
NotSolved
09.08.2019 11:29:13 Ulrich
NotSolved
09.08.2019 14:28:43 Mirko
NotSolved
10.08.2019 10:46:52 Ulrich
NotSolved
Blau Loop über Datein im Ordner => ein erster Anfang die zweite
10.08.2019 16:19:58 Mirko
NotSolved
11.08.2019 14:08:30 Trägheit
NotSolved
12.08.2019 20:43:29 Mirko
NotSolved
13.08.2019 12:39:19 Mirko
Solved
13.08.2019 17:26:09 Trägheit
NotSolved
08.08.2019 16:33:43 Ulrich
NotSolved